# import random
# import pandas as pd

# # 定义基础参数池
# M_pool = [1, 128, 256, 384, 512]  # M可选值
# N_pool = [1024, 2048, 4096, 5120, 6656, 8192]  # N可选值
# dtype_pool = ["float16", "float32"]  # 数据类型可选值
# total_groups = 100  # 目标总组数
# random.seed(42)  # 固定种子确保可复现（删除则每次随机）

# # 生成完全随机组合：每次独立抽取M、N、dtype
# random_combinations = []
# for _ in range(total_groups):
#     sigtype = random.choice(dtype_pool)  # 随机选数据类型
#     m = random.choice(M_pool)  # 随机选M值
#     n = random.choice(N_pool)  # 随机选N值
#     random_combinations.append({"sigtype": sigtype, "m": m, "n": n})

# # 转换为DataFrame并保存
# df = pd.DataFrame(random_combinations)
# output_path = "./params/softmax_performance_data.csv"
# df.to_csv(output_path, index=False, encoding="utf-8")

import pandas as pd

# 定义基础参数
M_list = [1, 128, 256, 384, 512]  # M序列
N_list = [1024, 2048, 4096, 5120, 6656, 8192]  # N序列
dtypes = ["float16", "float32", "bfloat16"]  # 数据类型（对应原脚本的sigtype）
total_groups = 100  # 目标总组数

# 生成基础组合（M×N×dtype）
combinations = []
for dtype in dtypes:
    for m in M_list:
        for n in N_list:
            combinations.append({"sigtype": dtype, "m": m, "n": n})

# 补足至100组（重复基础组合，确保顺序不打乱）
if len(combinations) < total_groups:
    repeat_times = (total_groups // len(combinations)) + 1
    combinations = combinations * repeat_times  # 重复组合
    combinations = combinations[:total_groups]  # 截取前100组

# 转换为DataFrame并保存为CSV（适配原batch_prof.py的读取路径）
df = pd.DataFrame(combinations)
output_path = "./params/softmax_performance_data.csv"  # 输出到./params目录下
df.to_csv(output_path, index=False, encoding="utf-8")